fix: align governance receipt freshness with commit lifecycle - #1109
Conversation
90682fe to
42cd211
Compare
|
Update after v0.89.2 catch-up (commit 42cd211). Fixes included: receipt freshness now validates receipt integrity plus trajectory binding instead of rejecting valid pre-commit receipts; local validation and knowledge promotion use canonical decapod.db tables; federation and LCM replay/determinism use canonical event tables; isolated database initializers provide the shared canonical schemas; v0.89.2 entrypoint fingerprints, generated specs, AGENTS.md/CLAUDE.md/CODEX.md/GEMINI.md, and governance artifacts are refreshed; tests now exercise the canonical database layout. Passing evidence: cargo fmt --all -- --check, cargo check --all-targets, cargo clippy --all-targets -- -D warnings, governed decapod validate (197 passes, 0 failures), decide 18/18, federation 19/19, and the release-equivalent gatling suite 48/48 active tests. Current failure intentionally left unresolved: the complete cargo test --all-targets -- --test-threads=4 run reached and passed through federation, then stopped in tests/plugins/obligation.rs with 7 failures and 1 pass. The failures are isolated obligation fixtures missing the canonical risk_zones table (most report no such table: risk_zones; test_add_obligation reports result.is_ok() false). No obligation fix was included in this push. |
Follow-up to #1106. Decapod emits validation receipts before the commit that carries them, so freshness must be bound to receipt integrity and the current trajectory rather than requiring an impossible post-commit Git SHA equality. The current checkout SHA remains reported separately. This keeps all four governance artifacts semantically current after publication.